 1 MEM = 16384
 2 SLOT = 128
 5  DIM B$(255)
 6 D$ =  CHR$ (4)
 8  INPUT "SLOT #";S
 9  IF S < 0 OR S > 7 THEN 8
 10 SLOT = SLOT + (16 * S)
 14 P = 1
 15  PRINT D$;"BLOAD A1MP3"
 16  GOSUB 8400
 18  GOSUB 8000
 19  GOTO 5000
 20  VTAB (11)
 25  HTAB (11)
 30 K =  PEEK (49152): IF K > 127 THEN 35
 33  GOTO 30
 35 A$ =  CHR$ (K - 128)
 36  HTAB (11): VTAB (11): PRINT A$;
 37  POKE 49168,0
 40  IF A$ = "F" THEN 5340
 42  IF A$ = "P" THEN 2000
 44  IF A$ = "R" THEN 5030
 46  IF A$ = "A" THEN 4000
 50  IF A$ = "X" THEN 9900
 55  VTAB (11): HTAB (11)
 60  GOTO 30
 2000  REM  PAUSE
 2001  REM  BLOAD MP3PAUSE
 2002 P =  - P
 2004  CALL 8309: REM  MP3PAUSE
 2005  IF P = 1 THEN 2110
 2015  VTAB (15)
 2016  HTAB (14)
 2017  PRINT "PAUSED...            ";
 2020  GOTO 20
 2040  GOTO 2135
 2110  VTAB (15)
 2120  HTAB (14)
 2130  PRINT "                       ";
 2140  HTAB (11): VTAB (11)
 2150  GOTO 5300
 3000  FOR I = 1 TO 1000: NEXT I
 3010  VTAB (11): HTAB (11)
 3020  GOTO 30
 4000  REM  PLAY ALL AND EXIT
 4001  REM  BLOAD MP3STOP
 4006  CALL 8324: REM  MP3STOP
 4008  REM  BLOAD MP3PLAY
 4015  CALL 8369: REM  MP3PLAY
 4020  VTAB (15)
 4030  HTAB (14)
 4050  VTAB (22): HTAB (1)
 4055  PRINT "PLAYING ALL SONGS, BYE..."
 4060  END 
 5000  REM  PLAY ALL SONGS
 5005 X = 1: REM  CURRENT SONG #
 5010  VTAB (13): HTAB (13)
 5020  PRINT "PLAYING: ";B$(X);
 5021  FOR A = 1 TO 13 -  LEN (B$(X))
 5022  PRINT " ";: NEXT A
 5030  REM  BLOAD APLAY
 5040  FOR A = 1 TO  LEN (B$(X))
 5050 G = 8429
 5060  POKE G + A - 1, ASC ( MID$ (B$(X),A,1))
 5070  NEXT A
 5080  POKE G +  LEN (B$(X)),13
 5090  POKE G +  LEN (B$(X)) + 1,0
 5100  CALL 8385
 5105 L = 0
 5110  REM  BLOAD ACHECK2
 5120  INVERSE : FOR I = 1 TO 16: VTAB (I)
 5130  HTAB (1): PRINT " ";: HTAB (40): PRINT " "
 5140  NEXT I
 5150  NORMAL 
 5300  VTAB (11): HTAB (11)
 5305  PRINT " ";: HTAB (11)
 5310  CALL 8275: REM  CALL ACHECK2
 5311 K =  PEEK (49152): IF K > 127 THEN 5600
 5320 A =  PEEK (8448)
 5325  IF A <  > 0 THEN 5370
 5330 L = L + 1: IF L < 50 THEN 5310
 5340  REM  SONG FINISHED, NEXT SONG
 5350 X = X + 1: IF X > S THEN X = 1
 5360  GOTO 5010
 5370  REM  SONG STILL PLAYING
 5380  REM  LOOP UNTIL STOPPED
 5390  REM  ADD KEYSTROKE CHECK HERE
 5400  REM 
 5410 L = 0
 5490  GOTO 5310
 5600  REM  KEYSTROKE
 5610 A$ =  CHR$ (K - 128): PRINT A$;
 5615  HTAB (11)
 5620  POKE 49168,0
 5630  IF A$ = "F" THEN 5340
 5640  IF A$ = "P" THEN 2000
 5650  IF A$ = "A" THEN 4000
 5660  IF A$ = "X" THEN 9900
 5670  IF A$ = "R" THEN 5010
 5700  GOTO 5320
 7000  REM  READ TIME STAMP OR NEW SONG INFO
 7005 A$ = "":MIN = SEC = 0
 7008  CALL (50335)
 7010  FOR I = 1 TO 20
 7020 A =  PEEK (9727 + I)
 7021  IF A > 127 THEN A = A - 128
 7022 A$ = A$ +  CHR$ (A)
 7030  NEXT I
 7040  VTAB (15)
 7050  HTAB (14)
 7055  IF  LEFT$ (A$,1) <  > "T" THEN 7065
 7060  GOTO 7600
 7065  IF  LEFT$ (A$,4) = "Play" OR  LEFT$ (A$,4) = "layi" THEN 7500
 7070  VTAB (11): HTAB (11)
 7080  RETURN 
 7500  REM  UPDATE SONG TITLE
 7502 B$ = ""
 7505 Z = 0: FOR I = 1 TO 10
 7510  VTAB (13): HTAB (13)
 7515 Z = 0: FOR I = 1 TO 10
 7520  IF  MID$ (A$,I,4) = "ing " THEN Z = I
 7530  NEXT I
 7535  IF Z = 0 THEN B$ = "UNKNOWN.MP3": GOTO 7550
 7537 B$ = ""
 7540 Z = Z + 3:B$ =  RIGHT$ (A$, LEN (A$) - Z)
 7550  PRINT "PLAYING: ";B$;"    ";
 7560  VTAB (11): HTAB (11): RETURN 
 7570  RETURN 
 7600  REM  TIME STAMP DISPLAY
 7605 SEC = 0:MIN = 0
 7610 V1 =  ASC ( MID$ (A$,4,1))
 7620 V2 =  ASC ( MID$ (A$,5,1))
 7630 V3 =  ASC ( MID$ (A$,8,1))
 7640 V4 =  ASC ( MID$ (A$,9,1))
 7650  REM  CONVERT TO HEX FROM ASCII
 7660 V1 = V1 - 48:V2 = V2 - 48
 7670 V3 = V3 - 48:V4 = V4 - 48
 7680  REM  NOW IF A-F SUBTRACT TO MAKE IT 10-15
 7690  IF V1 > 9 THEN V1 = V1 - 7
 7700  IF V2 > 9 THEN V2 = V2 - 7
 7710  IF V3 > 9 THEN V3 = V3 - 7
 7720  IF V4 > 9 THEN V4 = V4 - 7
 7730 VT = V2 + (V1 * 16)
 7740 VT = VT + (V4 * 32)
 7750 VT = VT + (V3 * 64)
 7760 SEC = MIN = 0
 7770  IF VT > 59 THEN MIN =  INT (VT / 60)
 7780 SEC = VT - (MIN * 60)
 7785  IF SEC < 0 OR MIN < 0 THEN 7850
 7790  PRINT "PLAY TIME: ";
 7800  IF MIN < 10 THEN  PRINT "0";
 7810  PRINT MIN;: PRINT ":";
 7820  IF SEC < 10 THEN  PRINT "0";
 7830  PRINT SEC;
 7835  PRINT "     ";
 7840  VTAB (11): HTAB (11)
 7850  RETURN 
 8000  REM  SCREEN SETUP
 8010  HOME : INVERSE 
 8020  FOR I = 1 TO 16
 8025  VTAB (I)
 8030  HTAB (1): PRINT " ";: HTAB (40): PRINT " "
 8040  NEXT I: FOR I = 1 TO 40
 8050  VTAB (1): HTAB (I): PRINT " ";
 8060  VTAB (16): HTAB (I): PRINT " ";
 8070  NEXT I: NORMAL 
 8080  VTAB (2)
 8082  HTAB (14)
 8084  PRINT "BRIEL COMPUTERS";
 8090  VTAB (3)
 8092  HTAB (12)
 8094  PRINT "APPLE ][ MP3 PLAYER";
 8100  VTAB (5)
 8110  HTAB (10)
 8120  PRINT "(R) RESTART SONG"
 8130  VTAB (6)
 8140  HTAB (10)
 8150  PRINT "(F) FAST FORWARD NEXT TRACK";
 8160  VTAB (7)
 8170  HTAB (10)
 8180  PRINT "(P) PAUSE/RESUME"
 8190  VTAB (8)
 8200  HTAB (10)
 8210  PRINT "(A) PLAY ALL & EXIT"
 8214  VTAB (9): HTAB (10)
 8220  VTAB (9)
 8230  HTAB (10)
 8240  PRINT "(X) STOP AND EXIT"
 8250  VTAB (11): HTAB (10)
 8260  PRINT "( ) ENTER COMMAND";
 8270  VTAB (11)
 8280  HTAB (11)
 8290  RETURN 
 8400  REM  GET DIRECTORY OF SONGS
 8401  POKE 8203,SLOT + 3
 8402  POKE 8208,SLOT + 2
 8403  POKE 8234,SLOT + 1
 8404  POKE 8244,SLOT
 8405  POKE 8265,SLOT
 8406  POKE 8268,SLOT + 1
 8409  CALL 8192
 8410 S = 0: FOR A = 1 TO 250: NEXT A
 8411  POKE 8290,SLOT + 1: REM  ACHECK2
 8412  POKE 8297,SLOT
 8413  POKE 8340,SLOT + 1: REM  MP3STOP
 8414  POKE 8347,SLOT
 8415  PRINT "GETTING SONGS FROM FLASH DRIVE"
 8420 I = 0
 8430 A$ = ""
 8440 I = I + 1
 8450 A =  PEEK (8448 + I)
 8460  IF A = 13 THEN 8500
 8470  REM  NOT CR ADD TO NAME
 8480 A$ = A$ +  CHR$ (A)
 8490  GOTO 8440
 8500  REM  WE HAVE A FILE
 8510  REM  IS IT A SONG
 8520  IF  RIGHT$ (A$,4) <  > ".MP3" THEN 8550
 8530  REM  IT'S A SONG
 8540 S = S + 1:B$(S) = A$
 8550  REM  ARE WE AT END 
 8560  IF  PEEK (8449 + I) <  > 13 THEN 8430
 8570  REM  END OF DIR
 8580  IF S = 0 THEN 8650
 8585  PRINT "SONG LIST:"
 8590  FOR I = 1 TO S
 8600  PRINT B$(I)
 8610  NEXT I
 8620  FOR I = 1 TO 2000: NEXT I
 8630  RETURN 
 8650  PRINT "NO SONGS FOUND *ABORTING*"
 8660  END 
 9220  VTAB (10)
 9900  VTAB (20): HTAB (1)
 9910  CALL 8324
 9999  END 
